Skip to content

feat(datagrid): redesign filter panel header and row actions#1649

Open
J2TeamNNL wants to merge 1 commit into
TableProApp:mainfrom
J2TeamNNL:fix/datagrid-d13-filter-panel
Open

feat(datagrid): redesign filter panel header and row actions#1649
J2TeamNNL wants to merge 1 commit into
TableProApp:mainfrom
J2TeamNNL:fix/datagrid-d13-filter-panel

Conversation

@J2TeamNNL

Copy link
Copy Markdown
Contributor

Changes

Implements the new filter panel interaction model:

Clear vs Remove All

  • "Unset" renamed to "Clear": calls clearAppliedFilters() — keeps all filter rows, just removes the applied state so the table returns to unfiltered results.
  • New "Remove All Filters" item added to the ... options menu: calls clearFilterState() — removes all filter rows entirely.

Per-row Apply moved to context menu

  • Per-row Apply / Applied buttons removed from the inline row layout.
  • "Apply Only This Filter" added to each row's right-click context menu (calls the existing applySoloFilter path).

Tri-state toggle-all checkbox

  • SF Symbols button (checkmark.square.fill / square / minus.square.fill) added to the filter panel header.
  • Shows checked when all rows are enabled, unchecked when none are, dash when mixed.
  • Clicking toggles all rows to enabled (if any are off) or all to disabled (if all are on).

Files: TablePro/Views/Filter/FilterPanelView.swift, TablePro/Views/Filter/FilterRowView.swift

Test plan

  • Click "Clear" — filter rows stay, table reloads without filters; button is disabled when no filters applied
  • ... menu > "Remove All Filters" — all rows removed, table reloads unfiltered
  • Right-click a filter row > "Apply Only This Filter" — only that filter is applied
  • With all rows enabled: tri-state shows checkmark; clicking disables all
  • With no rows enabled: tri-state shows empty square; clicking enables all
  • With mixed enabled state: tri-state shows dash; clicking enables all

- Rename 'Unset' -> 'Clear': calls clearAppliedFilters() (keeps rows, returns
  to unfiltered); old clearFilterState() moved to 'Remove All Filters' in ... menu
- Remove per-row Apply/Applied buttons; 'Apply Only This Filter' added to row
  context menu via rightMouseDown
- Tri-state checkbox in header toggles all filter rows enabled/disabled at once
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant